package com.self.match.service;

import com.self.match.enums.MatchStrategy;

import java.util.concurrent.ConcurrentHashMap;

/**
 * @version v1.0
 * @ClassName: MatchServiceFactory
 * @Description:
 * @Author: Mac
 */
public class MatchServiceFactory {

    private static ConcurrentHashMap<MatchStrategy,MatchService> matchServiceMap = new ConcurrentHashMap<>();

    /**
     * @Title: 撮合交易策略，添加一个撮合交易
     * @Description:
     * @Param [matchStrategy, matchService]
     * @Return void
     * @Author Mac
     * @Throws
     */
    public static  void addMatchService(MatchStrategy matchStrategy,MatchService matchService){
        matchServiceMap.put(matchStrategy,matchService);
    }

    /**
     * 使用策略的名称获取具体的实现类
     * @param matchStrategy
     * @return
     */
    public static MatchService getMatchService(MatchStrategy matchStrategy){
        return matchServiceMap.get(matchStrategy) ;
    }
}
